package cn.bugstack.domain.activity.adapter.repository;

import cn.bugstack.domain.activity.model.entity.UserGroupBuyOrderDetailEntity;
import cn.bugstack.domain.activity.model.valobj.GroupBuyActivityDiscountVO;
import cn.bugstack.domain.activity.model.valobj.SCSkuActivityVO;
import cn.bugstack.domain.activity.model.valobj.SkuVO;
import cn.bugstack.domain.activity.model.valobj.TeamStatisticVO;

import java.util.List;

/**
 * @author lxz
 * @description 活动仓储
 * @create 2024-12-21 10:06
 */
public interface IActivityRepository {

    // 查询活动信息
    GroupBuyActivityDiscountVO queryGroupBuyActivityDiscountVO(Long activityId);

    // 查询商品信息
    SkuVO querySkuByGoodsId(String goodsId);

    // 查询SKU活动信息
    SCSkuActivityVO querySCSkuActivityBySCGoodsId(String channel,String source,String goodsId);

    boolean isTagCrowdRange(String tagId, String userId);

    boolean downgradeSwitch();

    boolean isCutRange(String userId);

    List<UserGroupBuyOrderDetailEntity> queryProgressUserGroupBuyOrderDetailListByOwner(Long activityId, String userId, int ownerCount);

    List<UserGroupBuyOrderDetailEntity> queryProgressUserGroupBuyOrderDetailListByRandom(Long activityId, String userId, int randomCount);

    TeamStatisticVO queryTeamStatisticVO(Long activityId);
}
